// 配置相关类型定义

// 应用配置类型
export interface AppConfig {
  // 应用基本信息
  APP_NAME: string
  APP_VERSION: string
  
  // 公司信息
  COMPANY_NAME: string
  COPYRIGHT_YEAR: string | number
  
  // API配置
  API_BASE_URL: string
  
  // 环境配置
  NODE_ENV: string
  
  // 分页配置
  DEFAULT_PAGE_SIZE: number
  
  // 缓存配置
  CACHE_PREFIX: string
  
  // 本地存储键名
  STORAGE_KEYS: {
    USER_INFO: string
    TOKEN: string
    PERMISSIONS: string
    THEME: string
  }
  
  // 路由配置
  ROUTES: {
    LOGIN: string
    DASHBOARD: string
    HOME: string
  }
  
  // 主题配置
  THEME: {
    PRIMARY_COLOR: string
    SUCCESS_COLOR: string
    WARNING_COLOR: string
    ERROR_COLOR: string
  }
  
  // 日期格式
  DATE_FORMAT: {
    DATE: string
    TIME: string
    DATE_TIME: string
  }
}

// API端点配置类型
export interface ApiEndpoints {
  AUTH: {
    LOGIN: string
    LOGOUT: string
    REGISTER: string
    FORGOT_PASSWORD: string
  }
  USER: {
    PROFILE: string
    LIST: string
    CREATE: string
    UPDATE: string
    DELETE: string
  }
  DASHBOARD: {
    STATISTICS: string
    CHART_DATA: string
  }
}

// 权限配置类型
export interface Permissions {
  USER: {
    VIEW: string
    CREATE: string
    EDIT: string
    DELETE: string
  }
  ROLE: {
    VIEW: string
    CREATE: string
    EDIT: string
    DELETE: string
  }
}

// 主题配置类型
export interface ThemeConfig {
  LIGHT: string
  DARK: string
}

// 消息类型
export interface MessageTypes {
  SUCCESS: string
  ERROR: string
  WARNING: string
  INFO: string
}

// 配置验证结果类型
export interface ConfigValidationResult {
  isValid: boolean
  errors: string[]
  warnings: string[]
}

// 主题类型
export type ThemeMode = 'light' | 'dark'